package generator.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName tem_interview
 */
@TableName(value ="tem_interview")
@Data
public class TemInterview {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 面试方式
     */
    private String interviewMethod;

    /**
     * 面试联系人
     */
    private String interviewContact;

    /**
     * 面试轮次
     */
    private String interviewRounds;

    /**
     * 面试时长
     */
    private String interviewDuration;

    /**
     * 会议室
     */
    private String room;

    /**
     * 面试官
     */
    private String interview;

    /**
     * 面试官通知
     */
    private String interviewNotice;

    /**
     * 候选人通知
     */
    private String candidateNotice;

    /**
     * 面试时间
     */
    private Date interviewTime;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        TemInterview other = (TemInterview) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getInterviewMethod() == null ? other.getInterviewMethod() == null : this.getInterviewMethod().equals(other.getInterviewMethod()))
            && (this.getInterviewContact() == null ? other.getInterviewContact() == null : this.getInterviewContact().equals(other.getInterviewContact()))
            && (this.getInterviewRounds() == null ? other.getInterviewRounds() == null : this.getInterviewRounds().equals(other.getInterviewRounds()))
            && (this.getInterviewDuration() == null ? other.getInterviewDuration() == null : this.getInterviewDuration().equals(other.getInterviewDuration()))
            && (this.getRoom() == null ? other.getRoom() == null : this.getRoom().equals(other.getRoom()))
            && (this.getInterview() == null ? other.getInterview() == null : this.getInterview().equals(other.getInterview()))
            && (this.getInterviewNotice() == null ? other.getInterviewNotice() == null : this.getInterviewNotice().equals(other.getInterviewNotice()))
            && (this.getCandidateNotice() == null ? other.getCandidateNotice() == null : this.getCandidateNotice().equals(other.getCandidateNotice()))
            && (this.getInterviewTime() == null ? other.getInterviewTime() == null : this.getInterviewTime().equals(other.getInterviewTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getInterviewMethod() == null) ? 0 : getInterviewMethod().hashCode());
        result = prime * result + ((getInterviewContact() == null) ? 0 : getInterviewContact().hashCode());
        result = prime * result + ((getInterviewRounds() == null) ? 0 : getInterviewRounds().hashCode());
        result = prime * result + ((getInterviewDuration() == null) ? 0 : getInterviewDuration().hashCode());
        result = prime * result + ((getRoom() == null) ? 0 : getRoom().hashCode());
        result = prime * result + ((getInterview() == null) ? 0 : getInterview().hashCode());
        result = prime * result + ((getInterviewNotice() == null) ? 0 : getInterviewNotice().hashCode());
        result = prime * result + ((getCandidateNotice() == null) ? 0 : getCandidateNotice().hashCode());
        result = prime * result + ((getInterviewTime() == null) ? 0 : getInterviewTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", interviewMethod=").append(interviewMethod);
        sb.append(", interviewContact=").append(interviewContact);
        sb.append(", interviewRounds=").append(interviewRounds);
        sb.append(", interviewDuration=").append(interviewDuration);
        sb.append(", room=").append(room);
        sb.append(", interview=").append(interview);
        sb.append(", interviewNotice=").append(interviewNotice);
        sb.append(", candidateNotice=").append(candidateNotice);
        sb.append(", interviewTime=").append(interviewTime);
        sb.append("]");
        return sb.toString();
    }
}